﻿-- a = arc.create(arc.scr_act())
-- arc.set_bg_angles(a, 0, 360)
-- arc.center(a)
-- arc.size(a, 150, 150)
-- arc.x(a, 100)
-- arc.obj_del(a)
-- b = arc.scr_act()
-- arc.set_bg_angles(b, 0, 360)
-- arc.align(b, arc.LV_ALIGN_CENTER, 150, 0)
-- c = arc.scr_act()
-- arc.set_bg_angles(c, 0, 360)
-- arc.align(c, arc.LV_ALIGN_CENTER, 0, 150)
-- print(collectgarbage("count"))
-- a = array.scr_act()
-- -- a=ts.create()
-- -- a:get()
-- collectgarbage("collect")
-- print(sys.lvgl_mem_size())
-- a = arc.create(arc.scr_act())
-- a:set_bg_angles(0, 360)
-- -- a:center()
-- a:size(150, 150)
-- a:pos(50,50)
-- print(sys.lvgl_mem_size())
-- a = arc.create(arc.scr_act())
-- a = arc.create(arc.scr_act())
-- a = arc.create(arc.scr_act())
-- a = arc.create(arc.scr_act())
-- a = arc.create(arc.scr_act())
-- a = arc.create(arc.scr_act())
-- a:set_bg_angles(0, 360)
-- a:center()
-- a:size(150, 150)
-- print(sys.lvgl_mem_size())
-- a=nil
-- collectgarbage("collect")
-- print(sys.lvgl_mem_size())
-- for i=1,180 do
--     local x = i*2+150
--     b:pos(x,100)
--     sys.delay_ms(100) 
-- end
-- sys.delay_ms(5000)
-- b=nil
-- collectgarbage("collect")
-- print(lv.ALIGN_TOP_RIGHT)
-- print(lv.ALIGN_BOTTOM_RIGHT)
local function gc_test(time)
    -- print(sys.lvgl_mem_size())
    obj = lv.obj(lv.scr_act())
    lv.center(obj)
    obj:size(300, 300)

    label = lv.label(obj)
    label:set_text("hello")
    sys.delay_ms(time)
    -- label:center()
    lv.center(label)
    sys.delay_ms(time)
    label:align(lv.ALIGN_CENTER, 10, 0)
    sys.delay_ms(time)
    label = nil
    collectgarbage("collect")
    sys.delay_ms(time)
    obj = nil
    collectgarbage("collect")
    print(collectgarbage("count"))
    print(sys.lvgl_mem_size())
    sys.delay_ms(time)
end

-- for i=1,5 do
--     gc_test(1000)
-- end 

local function img_demo(obj,str)
    img.help()

    b = lv.img(obj)
    b:set_src(str)
    -- b:img_set_src("pic/brute.bin")
    -- lv.center(b)
    b:center()
    label1 = lv.label(b)
    label1:set_text("hello")
    label1:center()
end

local function btn_demo(obj)
    btn = lv.btn(obj)
    lv.center(btn)
    lv.size(btn, 80, 30)
    lv.pos(btn, 10, 120)
    label = lv.label(btn)
    label:set_text("hello")
    label:center()
end

local function arc_demo(obj)
    arc.help()

    local a = lv.arc(obj)
    a:center()
    a:set_bg_angles(0, 360)
    local b = lv.label(a)
    b:set_text("hello")
    b:center()
end

local function bar_demo(obj)
    -- arc.help()
    local a = lv.bar(obj)
    a:center()
    local b = lv.label(a)
    b:set_text("hello")
    b:center()
end

--btn_demo(obj)
--arc_demo(obj)
--bar_demo(obj)


local function anim_demo()
    a = lv.btn(lv.scr_act())
    a:center()
    label = lv.label(a)
    label:set_text("hello")
    label:center()
    b = lv.anim()
    b:set_exec_cb(function(event) a:y(event) end)
    b:set_var(a)
    b:set_values(0,150)
    b:set_time(1000)
    b:set_repeat_count(5)
    b:set_path_cb(anim.path_bounce)
    b:start()
end


-- anim_demo()

-- obj = lv.scr_act()
-- b = lv.img(obj)
-- b:set_src("pic/electric.png")

-- b:pos(20, 10)

-- label = lv.label(obj)
-- label:set_text("hello")

label = lv.label(lv.scr_act())
label:set_text("hello")

label1 = lv.label(lv.scr_act())
label1:set_text("hello")
label1:center()

